package br.ufrj.dcc.mapaviolencia.model;

import java.util.ArrayList;
import java.util.List;

import br.ufrj.dcc.mapaviolencia.util.LocalizacaoUtil;

import com.mongodb.BasicDBObject;
import com.mongodb.DBCursor;

public class Bairro {
	public static final String NOME_BAIRRO = "bairro";
	private String nome;
	private List<Logradouro> logradouros = null;
	private Cidade cidade;
	
	public Bairro(String nome, Cidade cidade) {
		this.nome = nome;
		this.setCidade(cidade);
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public List<Logradouro> getLogradouros() {
		if(logradouros == null){
			logradouros = new ArrayList<Logradouro>();
			BasicDBObject query = new BasicDBObject(NOME_BAIRRO, nome);
			DBCursor cursor = LocalizacaoUtil.collection.find(query);
			try {
				   while(cursor.hasNext()) {
				       logradouros.add(new Logradouro(cursor.next(),this));
				   }
				} finally {
				   cursor.close();
				}
		}
		return logradouros;
	}
	public void setLogradouros(List<Logradouro> logradouros) {
		this.logradouros = logradouros;
	}
	public Cidade getCidade() {
		return cidade;
	}
	public void setCidade(Cidade cidade) {
		this.cidade = cidade;
	}
}
